package net.maku.module.service;

import net.maku.module.entity.AgCategoryEntity;
import net.maku.module.query.AgCategoryPermissionQuery;
import net.maku.module.entity.AgCategoryPermission;
import java.util.List;
import java.util.Map;

/**
 * 系统用户管理栏目(AgCategoryPermission)表服务接口
 *
 * @author ChiHongYu
 * @since 2025-01-08 13:23:13
 */
public interface AgCategoryPermissionService {

    AgCategoryPermission insertOrUpdate(List<AgCategoryPermission> param, long executor);

    AgCategoryPermission queryById(Integer id);

    AgCategoryPermission queryByRoleId(long roleId);

    List<Long> getCategoryIdsByRoleIds(List<Long> roleIds);

    List<AgCategoryPermission> queryByLimit(Map<String, Object> param, int limit1, int limit2);


    int queryCount(Map<String, Object> param);


    boolean insert(AgCategoryPermission agCategoryPermission);


    boolean update(AgCategoryPermission agCategoryPermission);


    boolean deleteById(Integer id);


    boolean changeUseById(Integer id, String useState);

    List<AgCategoryEntity> getParentList(Integer parentId, List<AgCategoryEntity> res);

}
